package com.hu.web;

import org.dom4j.Document;
import org.dom4j.DocumentException;
import org.dom4j.Element;
import org.dom4j.io.SAXReader;

import java.io.InputStream;
import java.util.List;

public class Test01 {
    /*
        使用 DOM4J 解析 XML 文件
            1、导入 dom4j 的 jar 包
            2、java 项目 Add as Library
     */
    public static void main(String[] args) {
        // 1.创建解析器对象
        SAXReader saxReader = new SAXReader();
        try {
            // 读取 src 下的文件
            InputStream inputStream = Test01.class.getClassLoader().getResourceAsStream("Employees.xml");
            // 文档对象
            Document document = saxReader.read(inputStream);
            // 根节点对象,即 employees 标签
            Element rootElement = document.getRootElement();
            // 当有多个子节点时,默认取第一个
//            Element employee = rootElement.element("employee");
            // 获取当前节点下所有指定名称的标签
            List<Element> elements = rootElement.elements("employee");
            for (Element element : elements){
                // 获取到 name 标签
                Element name = element.element("name");
                // 获取标签内部的文本
                String text = name.getText();
                System.out.println(text);
                // 获取属性值
                String id = element.attributeValue("id");
                System.out.println(id);
            }
        } catch (DocumentException e) {
            e.printStackTrace();
        }
    }
}
